package com.ruoyi.edh.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("易订购-订单详情")
public class EdhOrderDetailsVo extends BaseEntity {
    private static final long serialVersionUID = 1L;


    /** uuid */
    @ApiModelProperty("${comment}")
    private Long id;


    /** 订单号 */
    @Excel(name = "订单号")
    @ApiModelProperty("订单号")
    private String orderNo;
    /** 用户名称 */
    @Excel(name = "用户名称")
    @ApiModelProperty("用户名称")
    private String userName;

    /** 用户是否为团长 */
    @Excel(name = "用户是否为团长 0普通用户1团长")
    @ApiModelProperty("用户是否为团长")
    private String teamLeader;
    /** 支付类型 0支付宝/1微信支付/2余额支付 */
    @Excel(name = "支付类型 0支付宝/1微信支付/2余额支付")
    @ApiModelProperty("支付类型 0支付宝/1微信支付/2余额支付")
    private String paymentType;

    /** 物流公司*/
    @Excel(name = "物流公司")
    @ApiModelProperty("物流公司")
    private String emsCompany;
    /** 发货状态*/
    @Excel(name = "物流单号")
    @ApiModelProperty("物流单号")
    private String emsNo;

    /** 订单状态 0正常/1已付款/2待收货/3已完成/4已取消/5退款退货 */
    @Excel(name = "订单状态 0带付款/1已付款/2待收货/3已完成/4已取消/5退款退货")
    @ApiModelProperty("订单状态 0待付款/1已付款/2待收货/3已完成/4已取消/5退款退货")
    private String orderStatus;
    /** 发货状态*/
    @Excel(name = "发货状态 0未发货/1已发货")
    @ApiModelProperty("发货状态 0未发货/1已发货")
    private String shipStatus;
    /** 商品名称 */
    @Excel(name = "商品名称")
    @ApiModelProperty("商品名称")
    private String goodsName;


    /** 手机号 */
    @ApiModelProperty("手机号")
    private String phone;

    /** 地址 */
    @ApiModelProperty("地址")
    private String address;


    /** 商品图片 */
    @Excel(name = "商品图片")
    @ApiModelProperty("商品图片")
    private String image;
    /** 商品名称 */
    @Excel(name = "商品名称")
    @ApiModelProperty("商品名称")
    private String title;
    /** 商品id */
    @Excel(name = "商品规格")
    @ApiModelProperty("商品规格")
    private String goodsSpecifications;

    /** 商品单价 */
    @Excel(name = "商品单价")
    @ApiModelProperty("商品单价")
    private BigDecimal goodsPrice;


    /** 商品数量 */
    @Excel(name = "商品数量")
    @ApiModelProperty("商品数量")
    private Long goodsNumber;


    /** 订单金额 只对于当前子订单的订单金额 */
    @Excel(name = "订单金额 只对于当前子订单的订单金额")
    @ApiModelProperty("订单金额 只对于当前子订单的订单金额")
    private BigDecimal orderAmount;


    /** 实收金额 只针对于当前子订单实收金额 */
    @Excel(name = "实收金额 只针对于当前子订单实收金额")
    @ApiModelProperty("实收金额 只针对于当前子订单实收金额")
    private BigDecimal actualAmount;
    /** 运费金额 */
    @Excel(name = "运费金额")
    @ApiModelProperty("运费金额")
    private BigDecimal shipping;

    /**优惠金额*/
    @Excel(name = "优惠金额")
    @ApiModelProperty("优惠金额")
    private String couponAmount;

    /** 付款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date paymentTime;
    /** 创建者 */
    private String logCreateBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date logCreateTime;

    /** 支付状态0未支付1已支付 */
    @Excel(name = "支付状态0未支付1已支付")
    @ApiModelProperty("支付类型 0支付宝/1微信支付/2余额支付")
    private String logPaymentStatus;
    /** 订单是否已打印*/
    @Excel(name = "订单是否已打印")
    @ApiModelProperty("订单是否已打印")
    private Integer isPrint;

    /** 订单状态 0正常/1已付款/2待收货/3已完成/4已取消/5退款退货 */
    @Excel(name = "订单状态 0带付款/1已付款/2待收货/3已完成/4已取消/5退款退货")
    @ApiModelProperty("订单状态 0待付款/1已付款/2待收货/3已完成/4已取消/5退款退货")
    private String logOrderStatus;
    /** 发货状态*/
    @Excel(name = "发货状态 0未发货/1已发货")
    @ApiModelProperty("发货状态 0未发货/1已发货")
    private String logShipStatus;

    /** 用户是否为团长 */
    @Excel(name = "订单备注")
    @ApiModelProperty("订单备注")
    private String logRemarks;
}
